package com.example.utils;

public class DataMaskingUtil {

    /**
     * 对邮箱进行脱敏处理，保留前2个字符和@后面的域名
     * @param email 邮箱地址
     * @return 脱敏后的邮箱
     */
    public static String maskEmail(String email) {
        if (email == null || !email.contains("@")) {
            return email; // 如果不合法的邮箱，直接返回原邮件地址
        }

        int atIndex = email.indexOf("@");
        String localPart = email.substring(0, atIndex);
        String domainPart = email.substring(atIndex);

        // 如果本地部分的长度大于2，保留前2个字符，其余部分用星号代替
        if (localPart.length() > 3) {
            localPart = localPart.substring(0, 2) + "***";
        }

        return localPart + domainPart;
    }

    /**
     * 对电话号码进行脱敏处理，保留前3位和后4位
     * @param phone 电话号码
     * @return 脱敏后的电话号码
     */
    public static String maskPhone(String phone) {
        if (phone == null || phone.length() < 7) {
            return phone; // 如果手机号不符合要求，直接返回原手机号
        }

        return phone.substring(0, 3) + "****" + phone.substring(phone.length() - 4);
    }
}

